using System;
using System.Collections.Generic;

namespace Servlets.Api
{
	public interface IRequest
	{
		IBody Body{get;}
		IValue<string> QueryString{get;}
		string Url{get;}
		HttpMethod HttpMethod{get;}
		HttpVersion HttpVersion{get;}
		void SetProperty(HttpProperty property, string value);
		string GetProperty(HttpProperty property);
		Dictionary<HttpProperty, string> AllProperties {get;}
		Cookies Cookies {get;}
		ISession Session {get;}
		IRequestDispatcher RequestDispatcher {get;}
		IKeyable Attributes {get;}
	}
}

